1. Field of the Invention
The present invention relates to the design and use of database management systems, and in particular to a method and system for configuring a database management system to improve processing speed when operating with multiple key versions.
2. Description of the Related Art
Large-scale integrated database management systems provide an efficient, consistent, and secure means for storing and retrieving vast amounts of data. This ability to manage massive amounts of information has become a virtual necessity in business today. Relational databases, which store retrieve data from tables having a number of rows and columns, are especially widespread.
Key values and indexes are useful features found in most database management systems. Key values are comprised of a single column or multiple columns of the record. Typical key values are account numbers, product codes, and customer names. An index is a structure within the database that can be used to quickly locate data based upon a key value because the key values are ordered. Each key value has at least one record identifier, or pointer, associated with it, which provides access to the entire record in the file. The use of key values and indexes can hasten the processing involved in performing database commands. Another useful feature found in many relational database management systems is the ability to alter the columns or rows of the database tables after the tables have been defined. A typical such alteration might be to increase the length of the character column or to change the data type from a small two-byte integer field to a four-byte integer field.
Unfortunately, if the altered column is a key column or happens to contain a key field, the format of the index key that referenced the table will have changed. As a result, the index will be inaccessible until it is rebuilt to match the new key format stored in the catalog and control structures describing the index. This rebuild may take a considerable amount of time depending on the size of the table.
There is therefore a need for a device and method that allows key columns to be altered, yet avoids the need to rebuild the index after the key columns have been altered. Index versioning satisfies that need, but the processing speed to handle keys in multiple formats can be very slow. A conventional way to process the key is to use a field-by-field comparison for each column in the key, but this results in poor performance for a key with many columns.
In light of the foregoing, there is a need for a method for improving the processing speed of an index with multiple key formats. The present invention satisfies that need.